package common.baseui;

import android.content.Context;
import android.util.AttributeSet;
import android.webkit.WebSettings;
import android.webkit.WebView;

import common.utils.NetworkStatus;

/**
 * Created by yangkuo02 on 2017/6/5.
 */

public class BaseWebView extends WebView {

    public BaseWebView(Context context) {
        super(context);
        init();
    }

    public BaseWebView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public BaseWebView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    private void init() {
        BaseWebView.this.setVerticalScrollBarEnabled(false);
        BaseWebView.this.setHorizontalScrollBarEnabled(false);
        setSettings();
    }

    private void setSettings() {
        WebSettings settings = BaseWebView.this.getSettings();
        // 设置编码格式
        settings.setDefaultTextEncodingName("utf-8");
        // 支持自动加载图片
        settings.setLoadsImagesAutomatically(true);
        // 支持Javascript
        settings.setJavaScriptEnabled(true);
        // 不支持通过JS打开新窗口
        settings.setJavaScriptCanOpenWindowsAutomatically(false);
        // 将图片调整到适合webview的大小
        settings.setUseWideViewPort(true);
        // 缩放至屏幕的大小
        settings.setLoadWithOverviewMode(true);
        // 不支持缩放
        settings.setSupportZoom(false);
        // 设置可以访问文件
        settings.setAllowFileAccess(true);
        // 支持缓存
        if (NetworkStatus.isNetworkAvailable(getContext().getApplicationContext())) {
            settings.setCacheMode(WebSettings.LOAD_DEFAULT);
        } else {
            settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
        }
        settings.setDomStorageEnabled(true);
        settings.setDatabaseEnabled(true);
        settings.setAppCacheEnabled(true);
    }
}
